-
Notifications
You must be signed in to change notification settings - Fork 953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Subgroup Operations #5301
Subgroup Operations #5301
Conversation
…sl-out TODO: metal out, figure out what needs to be done in validation
SPIR-V OpControlBarrier with execution scope Subgroup has implementation defined behavior when executed nonuniformly. OpenCL SPIR-V execution spec say nonuniform execution is UB. Vulkan SPIR-V execution spec says nothing :).
…eUp, GatherMode::ShuffleXor.
supported operations and stages subgroup operations are supported on can be passed to the validator after creating it operations are grouped to follow vulkan: - basic: elect, barrier - vote: any, all - arithmetic: reductions, scan - ballot: ballot, broadcasts, - shuffle: shuffles, - shuffle relative: shuffle up, down
I fiddled with the Vulkan backend since yesterday and it is still complaining that:
Even though I coupled the setting of
@teoxoy Ideas? |
Ah yes, we need to explicitly enable it when creating the device. I think the only thing missing is actually pushing the struct. wgpu/wgpu-hal/src/vulkan/adapter.rs Line 150 in 82dead0
|
…_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT.
I think the last remaining thing is #5301 (comment). |
Merge conflicts and compile errors fixed here: https://github.com/Lichtso/wgpu/pull/1 |
…ingError::InvalidMultiDimensionalSubgroupBuiltIn.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's time 🎉
Thank you for this substantial contribution!
@cwfitzgerald do you want to give this another look? Since you've previously requested changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work everyone!
I can touch up the changelog, there is a merge conlfict on trunk between this and #5508 that I'm fixing |
I put together a new issue to track the differences between our implementation and the WebGPU proposal #5555. |
Additional PR for code review as requested in #4190 (comment).
Resolves #4428